Image processing systems are employed in a wide variety of situations such as for reading a barcode, identifying a dollar value written on a check, recognizing a person in a photograph, or executing an optical character recognition (OCR) procedure upon a page of text. Many of these image processing systems can be quite effective when the medium on which an image is imprinted is free of distortion. For example, a check reader can readily recognize the monetary value entered in a check when the check is free of wrinkles and is aligned correctly when inserted into an automated teller machine. However, in some cases, the medium can have distortions that render the task of an image processing system difficult. For example, an OCR application may incorrectly interpret text provided on a page (or a piece of cloth) that is skewed and/or contains wrinkles. A skewed page constitutes what can be termed a linear distortion, and some OCR systems can accommodate this form of linear distortion by using a linear transformation procedure that takes into account a linear, spatial displacement of various features in the skewed page. However, procedures used to process images having linear distortions are typically computationally laborious, expensive, and slow. Procedures used for processing images having non-linear distortions (such as those associated with a page having wrinkles) can be even more computationally laborious, expensive, slow, and ineffective as well.
It is therefore desirable to address and improve upon procedures associated with processing images having various types of linear and non-linear distortions.